package com.gyh.system.sys.utils;

import com.gyh.system.common.utils.CacheUtils;
import com.gyh.system.common.utils.SpringContextHolder;
import com.gyh.system.sys.dao.UserTokenDao;
import com.gyh.system.sys.entity.UserToken;

/**
 * 
 * @author 作者 gyh
 * @version 创建时间：2018年7月10日 下午11:35:51
 */
public class ShiroUtils {
	
	private static UserTokenDao userTokenDao = SpringContextHolder.getBean(UserTokenDao.class);
	
	public static final String USER_TOKEN_CACHE = "userTokenCache";
	public static final String USER_TOKEN_ID = "userTokenId";

	/**
	 * 根据token获取UserToken实体类
	 * @param token
	 * @return
	 */
	public static UserToken getUserTokenEntity(String token) {
		UserToken tokenUser = (UserToken) CacheUtils.get(USER_TOKEN_CACHE, USER_TOKEN_ID + token);
		if (tokenUser == null) {
			tokenUser = userTokenDao.queryByToken(token);
			if (tokenUser == null) {
				return null;
			}
		}
		return tokenUser;
	}
}
